package studia.figlewicz.dao.ejb;

// Generated 2011-06-15 09:11:23 by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

/**
 * Kontraktyterminowe generated by hbm2java
 */
@Entity
@Table(name = "KONTRAKTYTERMINOWE", schema = "MARCIN")
public class Kontraktyterminowe implements java.io.Serializable {

	private BigDecimal idkontraktu;
	private Konwencjeterminowe konwencjeterminowe;
	private Kontraktyfinansowe kontraktyfinansowe;
	private Typykontraktowterminowych typykontraktowterminowych;
	private String terminzakonczenia;
	private String terminrozpoczecia;
	private String czestotliwosc;
	private String typopcji;
	private Date datautworzenia;
	private String login;
	private String opis;
	private Set<Krzywerynkowe> krzywerynkowes = new HashSet<Krzywerynkowe>(0);

	public Kontraktyterminowe() {
	}

	public Kontraktyterminowe(Konwencjeterminowe konwencjeterminowe,
			Kontraktyfinansowe kontraktyfinansowe) {
		this.konwencjeterminowe = konwencjeterminowe;
		this.kontraktyfinansowe = kontraktyfinansowe;
	}

	public Kontraktyterminowe(Konwencjeterminowe konwencjeterminowe,
			Kontraktyfinansowe kontraktyfinansowe,
			Typykontraktowterminowych typykontraktowterminowych,
			String terminzakonczenia, String terminrozpoczecia,
			String czestotliwosc, String typopcji, Date datautworzenia,
			String login, String opis, Set<Krzywerynkowe> krzywerynkowes) {
		this.konwencjeterminowe = konwencjeterminowe;
		this.kontraktyfinansowe = kontraktyfinansowe;
		this.typykontraktowterminowych = typykontraktowterminowych;
		this.terminzakonczenia = terminzakonczenia;
		this.terminrozpoczecia = terminrozpoczecia;
		this.czestotliwosc = czestotliwosc;
		this.typopcji = typopcji;
		this.datautworzenia = datautworzenia;
		this.login = login;
		this.opis = opis;
		this.krzywerynkowes = krzywerynkowes;
	}

	@GenericGenerator(name = "generator", strategy = "foreign", parameters = @Parameter(name = "property", value = "kontraktyfinansowe"))
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "IDKONTRAKTU", unique = true, nullable = false, precision = 22, scale = 0)
	public BigDecimal getIdkontraktu() {
		return this.idkontraktu;
	}

	public void setIdkontraktu(BigDecimal idkontraktu) {
		this.idkontraktu = idkontraktu;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "IDKONWENCJI", nullable = false)
	public Konwencjeterminowe getKonwencjeterminowe() {
		return this.konwencjeterminowe;
	}

	public void setKonwencjeterminowe(Konwencjeterminowe konwencjeterminowe) {
		this.konwencjeterminowe = konwencjeterminowe;
	}

	@OneToOne(fetch = FetchType.LAZY)
	@PrimaryKeyJoinColumn
	public Kontraktyfinansowe getKontraktyfinansowe() {
		return this.kontraktyfinansowe;
	}

	public void setKontraktyfinansowe(Kontraktyfinansowe kontraktyfinansowe) {
		this.kontraktyfinansowe = kontraktyfinansowe;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "KODISDA")
	public Typykontraktowterminowych getTypykontraktowterminowych() {
		return this.typykontraktowterminowych;
	}

	public void setTypykontraktowterminowych(
			Typykontraktowterminowych typykontraktowterminowych) {
		this.typykontraktowterminowych = typykontraktowterminowych;
	}

	@Column(name = "TERMINZAKONCZENIA", length = 5)
	public String getTerminzakonczenia() {
		return this.terminzakonczenia;
	}

	public void setTerminzakonczenia(String terminzakonczenia) {
		this.terminzakonczenia = terminzakonczenia;
	}

	@Column(name = "TERMINROZPOCZECIA", length = 5)
	public String getTerminrozpoczecia() {
		return this.terminrozpoczecia;
	}

	public void setTerminrozpoczecia(String terminrozpoczecia) {
		this.terminrozpoczecia = terminrozpoczecia;
	}

	@Column(name = "CZESTOTLIWOSC", length = 5)
	public String getCzestotliwosc() {
		return this.czestotliwosc;
	}

	public void setCzestotliwosc(String czestotliwosc) {
		this.czestotliwosc = czestotliwosc;
	}

	@Column(name = "TYPOPCJI", length = 5)
	public String getTypopcji() {
		return this.typopcji;
	}

	public void setTypopcji(String typopcji) {
		this.typopcji = typopcji;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATAUTWORZENIA", length = 7)
	public Date getDatautworzenia() {
		return this.datautworzenia;
	}

	public void setDatautworzenia(Date datautworzenia) {
		this.datautworzenia = datautworzenia;
	}

	@Column(name = "LOGIN", length = 30)
	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	@Column(name = "OPIS", length = 500)
	public String getOpis() {
		return this.opis;
	}

	public void setOpis(String opis) {
		this.opis = opis;
	}

	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "kontraktyterminowes")
	public Set<Krzywerynkowe> getKrzywerynkowes() {
		return this.krzywerynkowes;
	}

	public void setKrzywerynkowes(Set<Krzywerynkowe> krzywerynkowes) {
		this.krzywerynkowes = krzywerynkowes;
	}

}
